#include <stdio.h>

/*
 *	打印数组专用函数
 *  @params a[] 待排序数组
 *			n 数组长度
 */
void print_array(int a[], int n) {
	for (int i = 0; i < n; i++) {
		printf("%d ", a[i]);
	}
	printf("\n");
}

void insertSort(int a[], int n) {
	print_array(a, n);
	for (int i = 1; i < n; i++) {
		int key = a[i]; // 提取关键字
		int j = i - 1; // 提取有序序列中的最后一个元素
		while (j >= 0 && a[j] > key) { // 和有序序列中的每个元素作比较，
			a[j + 1] = a[j];
			j--;
		}
		a[j + 1] = key;
		print_array(a, n);
	}
}

void main() {
	//int a[] = { 1,1,2,4,7,5 };
	int a[] = { 10, 7, 6, 5, 2 };
	insertSort(a, 5);
 }
